//
//  ALPHAGlobalIcon.m
//  Alpha
//
//  Created by Dal Rupnik on 18/06/15.
//  Copyright © 2015 Unified Sense. All rights reserved.
//

#import "ALPHAGlobalIcon.h"

NSString *const ALPHAIconGlobalIdentifier = @"com.unifiedsense.alpha.icon.global";

@implementation ALPHAGlobalIcon

- (instancetype)init
{
    self = [super initWithIdentifier:ALPHAIconGlobalIdentifier];
    
    if (self)
    {
        self.drawingSize = CGSizeMake(80.0, 80.0);
        self.drawingBlock = ^(CGSize size, NSDictionary* parameters)
        {
            UIColor *fillColor = parameters[ALPHADrawingForegroundColorKey];
            
            CGRect frame = { CGPointZero, size };
            
            //// Bezier Drawing
            UIBezierPath* bezierPath = UIBezierPath.bezierPath;
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.85084 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.37639 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.85504 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.14963 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.85924 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.29660 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.86064 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.22102 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.99580 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.44148 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.93487 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.23222 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.98179 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.32950 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.89916 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.45408 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.96779 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.44848 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.93557 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.45268 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.85084 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.37639 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.89496 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.42049 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.87885 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.39459 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.71218 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.72704 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.80252 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.57166 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.75000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.68225 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.78011 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.63046 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.88025 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.52757 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.83613 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.56746 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.86204 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.55277 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 1.00000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.51497 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.93487 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.52337 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.97479 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.51917 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.99895 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.53072 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 1.00000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.51917 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.99965 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.52442 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.99790 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.54437 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.99825 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.53702 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.99790 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.54157 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.71218 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.72704 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.92927 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.63395 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.83403 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.69484 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.53571 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.31970 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.53781 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.23781 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.54692 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.29171 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.54762 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.26441 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.65966 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.02785 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.59804 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.16363 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.63866 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.09364 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.77521 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.08454 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.70308 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.04184 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.74160 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.06074 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.77941 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.35960 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.78782 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.17972 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.78922 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.27141 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.69117 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.42888 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.73599 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.36659 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.70658 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.38969 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.53571 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.31970 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.64216 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.41069 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.59034 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.37429 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.39706 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.01105 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.59034 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.00895 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.46009 * CGRectGetWidth(frame), CGRectGetMinY(frame) + -0.00295 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.52451 * CGRectGetWidth(frame), CGRectGetMinY(frame) + -0.00365 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.49160 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.18322 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.56933 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.06914 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.53641 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.12723 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.43277 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.17062 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.46219 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.17062 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.44258 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.16643 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.39706 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.01105 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.40896 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.11324 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.39706 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.06004 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.29202 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.95590 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.52101 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.87822 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.37325 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.94471 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.44958 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.91881 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.62185 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.88241 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.55462 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.89641 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.58824 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.89781 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.68487 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.80683 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.65546 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.86702 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.67647 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.84182 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.96849 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.67665 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.79692 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.78303 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.89145 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.73964 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.85399 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.84987 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.94188 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.74244 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.90371 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.80018 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.68802 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.96220 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.80427 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.89956 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.74895 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.93701 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.49265 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 1.00000 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.62710 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.98740 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.56198 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 1.00000 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.29202 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.95591 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.42332 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 1.00000 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.35644 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.98530 * CGRectGetHeight(frame))];
            [bezierPath addLineToPoint: CGPointMake(CGRectGetMinX(frame) + 0.29202 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.95590 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.02101 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.64935 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.23529 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.77638 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.08404 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.70394 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.15546 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.74629 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.47689 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.82152 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.31513 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.80648 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.39566 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.82152 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.18487 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.88872 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.37745 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.87192 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.28011 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.89431 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.02101 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.64935 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.10644 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.82432 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.05182 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.74453 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.00630 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.42678 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.11345 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.18427 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.02031 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.33580 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.05602 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.25496 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.32563 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.03204 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.17087 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.11358 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.24160 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.06284 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.36555 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.19792 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.33123 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.09223 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.34454 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.14753 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.34244 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.32390 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.32913 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.23571 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.32143 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.27771 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.00630 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.42678 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.24860 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.38129 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.13656 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.41559 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [bezierPath moveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.00000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.50237 * CGRectGetHeight(frame))];
            [bezierPath addLineToPoint: CGPointMake(CGRectGetMinX(frame) + 0.00000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.49817 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.39496 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.37429 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.16667 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.48418 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.29832 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.44288 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.48740 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.37220 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.42577 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.38829 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.45658 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.38759 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.69328 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.50447 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.55322 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.43798 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.62185 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.48208 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.73319 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.55486 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.70168 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.52547 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.71498 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.54227 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.64076 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.69974 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.71078 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.60946 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.67997 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.65775 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.54727 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.68504 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.61135 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.67875 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.58018 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.67385 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.47899 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.74804 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.51436 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.69624 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.49160 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.71724 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.21008 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.68925 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.38515 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.74804 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.29552 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.72844 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.00210 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.52547 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.12465 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.65005 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.05532 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.59546 * CGRectGetHeight(frame))];
            [bezierPath addCurveToPoint: CGPointMake(CGRectGetMinX(frame) + 0.00000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.50237 * CGRectGetHeight(frame)) controlPoint1: CGPointMake(CGRectGetMinX(frame) + 0.00070 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.52127 * CGRectGetHeight(frame)) controlPoint2: CGPointMake(CGRectGetMinX(frame) + 0.00000 * CGRectGetWidth(frame), CGRectGetMinY(frame) + 0.51357 * CGRectGetHeight(frame))];
            [bezierPath closePath];
            [fillColor setFill];
            [bezierPath fill];
        };
    }
    
    return self;
}

@end
